package com.ruoyi.asms.domain.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @Description
 * @Author YangJun
 * @Date 2021年11月23日 17:26:57
 **/
@Data
@NoArgsConstructor
public class InspectionTaskStatisticVo {
    @ApiModelProperty(value = "部门巡检结果统计")
    private List<DeptStatistic> deptStatistics;
    @ApiModelProperty(value = "巡检人员巡检结果统计")
    private List<InspectorStatistic> inspectorStatistics;

    @Data
    public static class DeptStatistic{
        @ApiModelProperty(value = "部门id")
        private Long deptId;
        @ApiModelProperty(value = "部门名称")
        private String deptName;
        @ApiModelProperty(value = "巡检完成数量")
        private Integer finishNumber;
        @ApiModelProperty(value = "巡检没有完成数量")
        private Integer notFinishNumber;
        @ApiModelProperty(value = "巡检结果正常的数量")
        private Integer rightNumber;//result_type=0
        @ApiModelProperty(value = "巡检结果故障的数量")
        private Integer faultNumber;//result_type=1
        @ApiModelProperty(value = "巡检结果设备没有绑定的数量")
        private Integer leakyBindNumber;//result_type=2
        @ApiModelProperty(value = "巡检结果位置码缺失的数量")
        private Integer loseCodeNumber;//result_type=3
        @ApiModelProperty(value = "巡检结果为其他的数量")
        private Integer otherNumber;//result_type=4
        public DeptStatistic(){
            finishNumber = 0;
            notFinishNumber = 0;
            rightNumber = 0;
            faultNumber = 0;
            leakyBindNumber = 0;
            loseCodeNumber = 0;
            otherNumber = 0;
        }
    }
    @Data
    public static class InspectorStatistic{
        @ApiModelProperty(value = "用户id")
        private Long userId;
        @ApiModelProperty(value = "用户名称")
        private String NickName;
        @ApiModelProperty(value = "用户电话")
        private String phonenumber;
        @ApiModelProperty(value = "巡检完成数量")
        private Integer finishNumber;
        @ApiModelProperty(value = "巡检没有完成数量")
        private Integer notFinishNumber;
        public InspectorStatistic(){
            finishNumber = 0;
            notFinishNumber = 0;
        }
    }
}
